package org.linlinjava.litemall.admin.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 使用@interface自定义注解时，
 *      自动继承了java.lang.annotation.Annotation接口，
 *      由编译程序自动完成其他细节。
 * @retention  元注解：元注解是指注解的注解，包括@Retention @Target @Document @Inherited四种。
 */
//@Target：定义注解的作用目标
// ElementType.TYPE, 接口、类、枚举、注解
// ElementType.METHOD 方法
@Target({ElementType.TYPE, ElementType.METHOD})
 // 注解会在class字节码文件中存在，在运行时可以通过反射获取到
@Retention(RetentionPolicy.RUNTIME)
public @interface RequiresPermissionsDesc {
    String[] menu();

    String button();
}
